package com.xiaowenxiong.service;


import com.xiaowenxiong.entity.Pager;
import com.xiaowenxiong.entity.Student;

import java.util.List;

/**
 * Created by 15c on 2016/11/10.
 */
//Service层（包括service interface和impl）
public interface StudentService {
    /**
     * 根据学生学号查询学生信息
     *
     * @param sno 学生学号
     * @return 学生对象
     */
    Student selectAstudentInfo(String sno);

    /**
     * 查询出所有学生
     *
     * @return list集合
     */
    List<Student> findAllStudent();

    /**
     * 添加一个学生
     *
     * @param student 学生对象
     * @return 返回0或1
     */
    int addStudent(Student student);

    /**
     * 分页查询学生信息
     *
     * @param pageOffset 每次查询数据的开始位置
     * @return paper对象，该对象中封装了查询出来的结果
     */
    Pager<Student> find(int pageOffset);

    /**
     * 用于关键字筛选分页显示
     * @return
     */
    Pager<Student> findStudnetByRetrieval(int pageOffset, String keyword);

    /**
     * 删除一个学生
     *
     * @param sno 学号
     * @return 0或1
     */
    int deleteOneStudent(String sno);

    /**
     * 更新学生信息
     *
     * @param student 对象
     * @return
     */
    int updateStudent(Student student);

    /**
     * 查询成绩
     * @param sno 学号
     * @return
     */
    List<Student> selectGrade(String sno);

    /**
     * 用于查询修改成绩学生的基础信息
     * @param sno 学号
     * @param cno 课程号
     * @return
     */
    Student selectInfoStudentAndCourseAndSc(String sno, Integer cno);

    /**
     * 查询所有学生数据总条数
     * 没使用
     *
     * @return 数据条数
     */
    int selectStudentTotal();

    /**
     * 分页查询
     * 没用
     */
    List<Student> selectStudent(int pageOffset, int pageSize);

}
